﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MvcApplication1.Models;

namespace Ligas.Tests.Fakes
{
    class FakeRepositorioEquipo : FakeRepositorioBase, IRepositorioEquipo
    {
        private List<Equipo> equipos;

        public FakeRepositorioEquipo(List<Equipo> equipos)
        {
            this.equipos = equipos;
        }

        public void AgregarEquipo(Equipo e)
        {
            equipos.Add(e);
        }

        public void EliminarEquipo(Equipo e)
        {
            equipos.Remove(e);
        }

        public Equipo getEquipo(int indice)
        {
            return equipos.SingleOrDefault(d => d.IDEquipo == indice);
        }

        public IQueryable<Partido> ProximosPartidos()
        {
            throw new NotImplementedException();
        }

        public IQueryable<Equipo> TodosLosEquipos()
        {
            return equipos.AsQueryable();
        }

        public override void Save()
        {
            foreach (Equipo e in equipos)
                if (!e.EsValido)
                    throw new ApplicationException("Violacion de Reglas");
        }
    }
}
